Package-level declarations

Provides Noise Protocol Framework implementation.

Types

Link copied to clipboard
data class Cipher(val cryptography: Cryptography, val key: CipherKey? = null, val nonce: Nonce = Nonce.zero)

Encompasses all Noise protocol cipher state required to encrypt and decrypt data.

Link copied to clipboard
data class Handshake(val role: Role, val symmetry: Symmetry, val messagePatterns: List<List<Handshake.Token>>, val localStaticKeyPair: Pair<PublicKey, PrivateKey>? = null, val localEphemeralKeyPair: Pair<PublicKey, PrivateKey>? = null, val remoteStaticKey: PublicKey? = null, val remoteEphemeralKey: PublicKey? = null, val trustedStaticKeys: Set<PublicKey> = emptySet()) : MessageType

Encompasses all Noise protocol handshake state required to read and write messages.

Link copied to clipboard
interface MessageType
Link copied to clipboard
value class Payload(val data: Data)

Plaintext handshake payload.

Link copied to clipboard
enum Role : Enum<Role>

The role of the user holding the handshake state. The initiator is the one who sends the first message.

Link copied to clipboard
data class Symmetry(val cipher: Cipher, val key: Symmetry.ChainingKey, val handshakeHash: Symmetry.HandshakeHash)

Encompasses all Noise protocol symmetric cryptography state required during handshakes.

Link copied to clipboard
data class Transport(val initiatorCipherState: Cipher, val responderCipherState: Cipher, val handshakeHash: Digest) : MessageType

Initial transport message state.